C.S.Burner 🪙 ━►🔥GIT Node
meshchatx/src/backend/database/sqlite_errors.py master (f0f6ed57) Text, 618 B
T8b949e# SPDX-License-Identifier: 0BSD
T8b949e"""Classify SQLite exceptions the UI can retry."""
Tff7b72from T7ee787__future__ Tff7b72import Te6edf3annotations
Tff7b72import T7ee787sqlite3
Te6edf3_RETRYABLE_SNIPPETS Tff7b72= Tb4b4b4(
Ta5d6ff"Ta5d6ffunable to open database fileTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffdatabase is lockedTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffclosed databaseTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffcannot operate on a closed databaseTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffdisk i/o errorTa5d6ff"Tb4b4b4,
Tb4b4b4)
Tff7b72def Td2a8ffsqlite_error_is_retryableTb4b4b4(Te6edf3excTb4b4b4: Tf85149BaseExceptionTb4b4b4) Tff7b72-Tff7b72> Tffa657boolTb4b4b4:
T8b949e"""True for locked, missing-file, and closed-handle SQLite failures."""
Tff7b72if Tffa657isinstanceTb4b4b4(Te6edf3excTb4b4b4, Te6edf3sqlite3Tff7b72.Td2a8ffOperationalErrorTb4b4b4)Tb4b4b4:
Tff7b72return Tff7b72True
Te6edf3detail Tff7b72= Tffa657strTb4b4b4(Te6edf3excTb4b4b4)Tff7b72.Td2a8fflowerTb4b4b4(Tb4b4b4)
Tff7b72return Tffa657anyTb4b4b4(Te6edf3snippet Tff7b72in Te6edf3detail Tff7b72for Te6edf3snippet Tff7b72in Te6edf3_RETRYABLE_SNIPPETSTb4b4b4)
Served by rngit 1.4.2 - Generated in 0.03s